<?php
/**
 * 描述：格式检测类。
 */
class Match
{
    /**
     * 描述：是否是正确的日期格式。
     * @static
     * @access public
     * @param  string require $value
     * @return boolean
     */
    public static function Date($value)
    {
        $regexp='((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])';
        $regexp=$regexp.'(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^(';
        $regexp=$regexp.'(1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])';
        $regexp=$regexp.'(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48';
        $regexp=$regexp.'])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-';
        $regexp=$regexp.'\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))';

        if(preg_match($regexp,$value)){
            return TRUE;
        }
        else{
            return FALSE;
        }
    }

    /**
     * 描述：是否是正确的EMAIL格式。
     * @static
     * @access public
     * @param  string require $value
     * @return boolean
     */
    public static function Email($value)
    {
        if(preg_match('/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/',$value)){
            return TRUE;
        }
        else{
            return FALSE;
        }
    }

    /**
     * 描述：是否是正确的密码格式。
     * @static
     * @access public
     * @param  string require $value
     * @return boolean
     */
    public static function Password($value)
    {
        if(preg_match('/^[a-zA-Z]\w{5,17}$/',$value)){
            return TRUE;
        }
        else{
            return FALSE;
        }
    }
}
?>
